<!DOCTYPE html>
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>ch03-00</title>
    <link href="css/style.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="thumbnailviewer.css" type="text/css">
    <script src="thumbnailviewer.js" type="text/javascript">

/***********************************************
* Image Thumbnail Viewer Script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

</script> </head>
  <body>

  
<div class="os1">第3章 音频采集和播放 </div>
<p>
本章介绍利用 Qt 开发库进行音频的采集和播放，主要针对原始的 PCM 格式，不进行任何的封装或压缩。
针对音频、视频等多媒体处理，Qt 开发库提供了 Qt Multimedia 模块，可以进行音频的采集、播放，还可以利用摄像头采集视频数据。视频采集的内容在后面视频编码章节附近介绍。
本章只介绍音频的采集和播放。Qt Multimedia 模块提供了 QAudioInput 类进行实时音频采集，提供了 QAudioOutput 进行实时的音频播放。如果不需要获取原始数据，并且不关心音频采集参数，仅仅是保存到文件，那么还可以使用 QAudioRecorder 进行傻瓜式的录音。
</p>
<p>
Qt 自带的多媒体模块在大多数情况下是够用的，但是目前 QAudioInput 采集类缺少一个功能，就是指定时间片段来进行采集，
QAudioInput 采集的时间片是内部计算的，通常情况下程序员难以掌控。
PortAudio 是开源的跨平台的音频输入输出库，正好弥补了 QAudioInput 的缺点，PortAudio 可以直接设置采样的时间片，指定的时间片就是数据提供的周期，
每过一个固定时间片提供一次采样数据。
音频编码 OPUS 要求输入数据的时间片从 2.5 ms 到 60 ms，PortAudio 指定时间片采集对这类音频编码就很适用。
</p>
<p>
本章第1节介绍使用 QAudioInput 采集指定格式的 PCM 音频。<br />
第2节介绍利用 QAudioOutput 播放原始 PCM 数据流文件。<br />
第3节介绍利用 QAudioRecorder 进行傻瓜式的录音。<br />
第4节介绍利用 PortAudio 根据指定时隙进行声音采集。<br />
</p>
<br />


    <br>
    <br>

    <table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
      <tbody>
        <tr>
          <td style="width: 40%;">
            <div style="text-align: center;"><a href="ch02-02.htm"><img class="pic"

                  style="width: 32px; height: 32px;" alt="prev" src="images/pics/prev.png"></a></div>
          </td>
          <td style="width: 20%;">
            <div style="text-align: center;"><a href="contents.htm"><img class="pic"

                  style="width: 32px; height: 32px;" alt="contents" src="images/pics/contents.png"></a></div>
          </td>
          <td style="width: 40%;">
            <div style="text-align: center;"><a href="ch03-01.htm"><img class="pic"

                  style="width: 32px; height: 32px;" alt="next" src="images/pics/next.png"></a></div>
          </td>
        </tr>
      </tbody>
    </table>
  </body>
</html>
